import axios from 'axios'
import { ElMessage } from 'element-plus'
import router from '../router/index'

//创建axios实例对象
const request = axios.create({
  baseURL: '/api',
  timeout: 600000
})

//axios的响应 response 拦截器
request.interceptors.response.use(
  (response) => { //成功回调
    return response.data
  },
  (error) => { //失败回调
    // 增加 error.response 是否存在的判断
    if (error.response && error.response.status === 401) {
      ElMessage.error('身份校验失败，请重新登录')
      router.push('/login')
    } else {
      // 可以选择提示网络错误或其他信息
      ElMessage.error('网络异常，请检查连接')
    }
    return Promise.reject(error)
  }
)
//axios的请求 request 拦截器
request.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  //获取用户登录信息token,判断token
  let loginUser=JSON.parse(localStorage.getItem('loginUser'))
  if(loginUser){
    config.headers.token=loginUser.token
  }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});



export default request